home *** CD-ROM | disk | FTP | other *** search
/ Extra Heft 12 / Extra Heft12.bin / input64 / 10_87.d64 / compactor (.txt) < prev    next >
Commodore BASIC  |  1995-08-17  |  1KB  |  25 lines

  1. 0 REM         PROGRAMMSTRECKER
  2. 10 POKE55,0:POKE56,15:CLR:POKE53280,12:POKE53281,12:PRINT"[147][144]":CO=3850:C=1:INPUT"LAENGE1[157][157][157]";TT:P=CO:X=P:INPUT"NAME";A$:OPEN3,8,3,A$+",P,R":L=CO
  3. 150 GET#3,B$:POKEL,ASC(B$+CHR$(0)):IFST<>0THEN200
  4. 180 L=L+1:GOTO150
  5. 200 Q=L:F=Q:CLOSE3:OPEN2,8,2,+"DES-"+A$+",P,W":PRINT#2,CHR$(PEEK(X));CHR$(PEEK(X+1));:X=P+1:GOTO410
  6. 270 C=C+1:POKE216,1:PRINTCHR$(PEEK(X));:POKE216,0:IFX>COANDPEEK(X)<>58THENPRINT#2,CHR$(PEEK(X));
  7. 320 IFPEEK(X)=0THEN410
  8. 330 IFPEEK(X)=34ANDR=0THENR=1:GOTO390
  9. 340 IFPEEK(X)=34ANDR=1THENR=0
  10. 350 IFPEEK(X)=143THENR=2
  11. 360 IFPEEK(X)=139THENR=2
  12. 370 IFPEEK(X)=58THENIFR=0THENIFC>TTTHENIFPEEK(X+1)<>0THEN540
  13. 380 IFPEEK(X)=58THENPRINT#2,CHR$(58);
  14. 390 X=X+1:GOTO270
  15. 410 IFPEEK(X+1)=0ANDPEEK(X+2)=0THEN660:
  16. 420 LO=PEEK(X+3):HI=PEEK(X+4):PRINT:PRINTLO+HI*256;:FORL=1TO4:PRINT#2,CHR$(PEEK(X+L));:NEXT:X=X+4:C=0:R=0:IF(L1+H1*256)>((LO+HI*256)-1)AND(LO+HI*256)>0THEN700:
  17. 530 GOTO390
  18. 540 PRINT#2,CHR$(0);:F=F+4:PRINT#2,CHR$(8);CHR$(8);:LO=LO+1:IFLO>255THENLO=0:HI=HI+1
  19. 590 L1=LO:H1=HI:PRINT#2,CHR$(LO);CHR$(HI);:PRINT"":PRINTLO+HI*256;"[144]";:C=0:GOTO390
  20. 660 PRINT#2,CHR$(0);CHR$(0);:CLOSE2:GOSUB780:END
  21. 700 CLOSE2:OPEN2,8,15,"I":PRINT#2,"S:DES-"+A$:CLOSE2:PRINT"   PROBLEM:";:PRINTLO+HI*256:GOSUB780:END
  22. 780 OPEN1,8,15:PRINT:PRINT"";
  23. 810 GET#1,A$:PRINTA$;:IFST=0ANDA$<>CHR$(13)THEN810
  24. 840 PRINT#1,"M-W";CHR$(106);CHR$(0);CHR$(1);CHR$(133):PRINT#1,"I":PRINT#1,"M-W";CHR$(6);CHR$(0);CHR$(2);CHR$(36);CHR$(1):PRINT#1,"M-W";CHR$(0);CHR$(0);CHR$(1);CHR$(128):CLOSE1:RETURN
  25.